Prepare the v2.1.0 stable release - #90
Merged
Merged
Conversation
`RuntimeViewerServiceVersion` is the only signal that makes an installed client replace its privileged helper: the launch-time check compares the running daemon's reported version against this constant and reinstalls only on a mismatch. Three daemon-side changes have landed since the constant last moved to 1.4.0 — the sandbox probe gained the code-signing predicate, and both the server and its entry point followed it — so the injection routing that v2.1.0-RC.3 advertised has been sitting in the shipped binary without any installed helper picking it up. Bumping to 1.5.0 is what delivers it. Also record the pre-flight check in the release runbook, since nothing enforces this the way ArchiveScript.sh enforces MARKETING_VERSION.
Consolidates the whole 2.1 line for stable-channel users coming from v2.0.1, who have seen none of the nine betas or three release candidates. Two places where the RC notes cannot simply be concatenated: RC.1 announced that per-image protocol lists had stopped including imported protocols, which RC.2 then reverted after it emptied UIKitCore and Foundation, so only RC.2's account survives here; and the upgrade notes call out that RC.3 users are prompted to reinstall the helper too, which is new to this release rather than carried over.
Contributor
There was a problem hiding this comment.
Pull request overview
Prepares the v2.1.0 stable release by ensuring updated privileged-helper behavior is actually delivered to existing installations, and by documenting release checks + consolidating release notes for stable-channel users.
Changes:
- Bumped
RuntimeViewerServiceVersionfrom1.4.0→1.5.0so the app reinstalls the privileged helper daemon on launch after upgrade. - Added a Sparkle release runbook pre-flight checklist section to prevent future “daemon changes shipped but never installed” misses.
- Added a consolidated
Changelogs/v2.1.0.mdcovering the full 2.1 beta/RC line for stable-channel users.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| RuntimeViewerCore/Sources/RuntimeViewerCommunication/RuntimeRequestResponse.swift | Bumps the app↔daemon protocol/version constant to trigger helper reinstall. |
| Documentations/SparkleRelease.md | Documents a pre-flight diff procedure to validate whether the helper protocol version needs a bump before cutting a release. |
| Changelogs/v2.1.0.md | Adds consolidated stable release notes for v2.1.0 including upgrade notes about helper reinstall. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two things stand between the current
mainand cuttingv2.1.0.Bump the helper daemon protocol to 1.5.0
RuntimeViewerServiceVersionis the only signal that makes an installed clientreplace its privileged helper — the launch-time check compares the running
daemon's reported version against this constant and reinstalls only on a
mismatch. A new app build ships a new daemon binary, but nothing installs it
while the string is unchanged.
Three daemon-side changes have landed since the constant last moved to
1.4.0:That is the work behind RC.3's "code injection picks its path from the whole
rule". It has been sitting in the shipped binary with no installed helper
picking it up, so RC.3 users have been running the 1.4.0 daemon and never got
the fix the release notes promised. Bumping here is what delivers it.
Documentations/SparkleRelease.mdgains a pre-flight section with the diffcommand, since nothing enforces this the way
ArchiveScript.shenforcesMARKETING_VERSIONagainst--version-tag.Add
Changelogs/v2.1.0.mdConsolidates the whole 2.1 line — stable-channel users arriving from
v2.0.1have seen none of the nine betas or three release candidates. Two spots where
the RC notes could not simply be concatenated:
protocols. RC.2 reverted that after it emptied UIKitCore and Foundation, so
only RC.2's account survives.
helper as well. That is new to this release, not carried over.
MARKETING_VERSIONis already2.1.0, so nothing there needs to move.After merge
Tag
v2.1.0onmainand push it;release.ymlbuilds, notarizes, publishesthe GitHub Release, and opens the appcast PR. Channel is inferred as
stablefrom the tag, so this one reaches all users rather than only opt-in clients.